This invention relates to a method of manufacturing a single chip semiconductor integrated circuit device (a microcontroller) and a method of debugging a program of the single chip semiconductor integrated circuit device.
As well know in the art, a microcomputer is defined by a miniaturized electronic computer constituted by a microprocessor. The microprocessor is a processor wherein a central processing unit (CPU) of the computer is integrated on one or few large-scale integrated circuits (LSIs). The microcomputer normally comprises the CPU, an input/output device, and a main memory device. The main memory device comprises a random access memory (RAM) and a read only memory (ROM). An input/output control LSI is used as a connecting circuit portion for the input/output device. A single chip microcomputer is a microcomputer where the CPU, the RAM, the ROM, and the input/output LSI are mounted in a one chip. The single chip microcomputer is called a one chip microcomputer.
A program is read from an outside of a chip of the microprocessor while the program is preliminarily installed in the inside in the chip of the signal chip microcomputer. The microprocessor is capable of changing processing contents by renewing the program of the outside while it is almost impossible for the single chip microcomputer to change processing contents by a user because the program is already installed in the inside in the chip thereof. Herein, the program is preliminarily stored in the ROM.
In addition, as well know in the art, read only memories (ROMs) are broadly divided into mask ROMs wherein wiring of contents is carried out at a manufacturing process in a semiconductor maker and programmable ROMs (PROMs) where a user can electrically write with the program therein.
The mask ROMs can be manufactured at the lowest price among the semiconductor memories in principle. Therefore, products having a large memory capacity are manufactured as the mask ROMs. On the other hand, the programmable ROMs have features wherein the writing of the program can carry out by a user at hand. The programmable ROMs are classified into PROM in a narrow sense wherein the user can program only once, erasable and programmable ROMs (EPROMs) which can be electrically programmed and can be erased by ultraviolet light or the like, and electrically erasable programmable ROMs (EEPROMs).
In the EPROM, the user can program and all of data can be erased by irradiating it with ultraviolet light to enable rewriting therein. Inasmuch as a glass window for erasing by ultraviolet light is required in the EPROM, the EPROM is commonly contained in a ceramic package. There is a one time programmable ROM (OTP) as the EPROM in a narrow sense. The OTP comprises a semiconductor chip embedded therein that is similar to that of the EPROM but the OTP cannot be erased by ultraviolet light because the OTP comprises a package with no window. By using an ordinary EPROM programmer, the user can program information to each memory cell in the OTP only once. The OTP has a cost which is higher than that of the mask ROM and which is lower than that of the EPROM. There is a flash EEPROM as a kind of the EEPROMs. The flash EEPROM is also called a flash memory which can electrically erase all of bit contents (which may erase every block) to rewrite contents therein among the programmable read only memories (PROMs).
Such a single chip microcomputer is mounted in an ordinary electric calculator, a printer, a keyboard, a microprocessor-controlled automatic (electric) rice cooker, a microprocessor-controlled camera, an engine controller for an automobile, an so on. Inasmuch as the single chip microcomputer mainly often controls operations of its equipment with it installed in the equipment, the single chip microcomputer may be called a microcontroller. In addition, the microcontroller is a kind of the single chip semiconductor integrated circuit devices.
In order to effectively carry out development of the equipment (an electronic device) in which such a single chip microcomputer (microcontroller) is installed, various development systems (development tools) are delivered by semiconductor makers or development tool makers. Inasmuch as the single chip microcomputer (microcontroller) comprises hardware and software which are closely related to each other and has a short time period of development, debug of the software and checking of the hardware must be simultaneously carried out. That is, development of the hardware and the software must often carried out concurrently. In this event, the debug of the software is required with a yet-to-be-completed hardware.
There is an emulator as one of debug tools (development tools). Herein, the emulator is a device or a computer program for imitating, by using a system, another system. With the help of the emulator, verification of functional operations of the equipment (electronic device) installed with the software is carried out. Emulators are divided into an in-circuit emulator (ICE) which is used with it directly connected to the equipment (the electronic device) under development and a software emulator using a logic simulator. That is, the in-circuit emulator is a development tool for supporting the verification of the functional operations of the equipment (electronic device) by directly connecting it to the equipment (electronic device) mounting a program-controlled microcontroller under development.
Usually, development of the hardware of the microcontroller is carried out by the semiconductor maker side while development of the software of the microcontroller is carried out by the user side. That is, development of the microcontroller is carried out by cooperative working of the semiconductor maker and the user.
Now, the description will proceed to a conventional method of manufacturing of a microcontroller. Herein, the description will be directed to the method of manufacturing, as an ultimate product, a microcontroller comprising a mask ROM in which an ultimate program is stored.
First of all, between the semiconductor maker and the user, investigation of specifications of the microcontroller (the single chip semiconductor integrated circuit device) to be manufactured is carried out. Herein, the ultimate microcontroller to be manufactured comprises a CPU, an RAM, a mask ROM, and an input/output control LSI which are incorporated into a one chip. In addition, the CPU, the RAM, the mask ROM, and the input/output control LSI are mutually connected to each other via an internal bus. The internal bus comprises an address bus and a data bus.
The semiconductor maker provides the user with the emulator (the software emulator and the in-circuit emulator) as the envelopment tool while the user develops, by using the emulator, software (a program) to be stored in the above-mentioned mask ROM.
Subsequently, the semiconductor maker designs a product in OTP version and the user carries out debug of the program using the software emulator. Herein, the product in OTP version (a provisional microcontroller) to be designed comprises a CPU, an RAM, the OTP, and an input/output control LSI which are incorporated into a one chip. In other words, the provisional microcontroller is similar in structure to the ultimate microcontroller except that the OTP is used in lieu of the mask ROM. However, any program is not stored in the OTP and storing of the program to the OTP is carried out by the user side in the manner which will later be described. The provisional microcontroller is sealed in a semiconductor package. On the other hand, carried out by the user, debug of the program using the software emulator is carried out with the hardware put into a yet-to-be-completed state.
The semiconductor maker provides the user with a plurality of the provisional microcontrollers which are similar in structure to one another. The user stores, by using the EPROM programmer (writer), a provisional program (which is a program debugged by using the software emulator) in the OTP in one selected from the plurality of the provisional microcontrollers, mounts the selected provisional microcontroller in question in an equipment (a target board), and carries out a test of the provisional program. That is, by using the above-mentioned in-circuit emulator, the user carries out verification of functional operations of the equipment (target board). In the manner which is described above, the OTP is a PROM in which information can be written only once. Accordingly, if any correction place (error) is found out in the provisional program by the test, the user stores a corrected provisional program in another provisional microcontroller, and carries out retest and re-correction of the corrected provisional program. That is, the test and the correction (the retest and the re-correction) of the provisional program is repeatedly carried out. By repeating operations of the test and the correction (the retest and the re-correction) for the provisional program, an ultimate program is determined by the user side.
On the other hand, after the provisional controllers are provided to the user, the semiconductor maker subsequently carries out design of a produce in mask ROM version. Herein, the product in mask ROM version (an actual microcontroller to be mounted in the equipment) to be designed comprises a CPU, an ROM, the mask ROM, and an input/output control LSI which are incorporated in a one chip. However, at this time instance, the ultimate program has yet to be written in the mask ROM of the actual microcontroller.
The user sends (provides) the above-mentioned determined ultimate program to the semiconductor maker. The semiconductor maker stores, using ion implantation, the ultimate program in the mask ROM of the actual microcontroller, thereby a microcontroller as the ultimate product is manufactured. In addition, the microcontroller manufactured in the manner which is described above is sealed in a semiconductor package and is produced in large quantity. And, ultimate microcontrollers produced in large quantity are provided to the user.
The user mounts the ultimate microcontrollers in the respective equipments (electronic devices), thereby the equipments are produced in large quantity.
Although the above-mentioned microcontroller comprises one semiconductor chip, U.S. Pat. Nos. 7,199,469 or 7,199,469 B2 issued to Ishida et al. discloses a semiconductor device (a microcontroller) having stacked two semiconductor chips sealed with a resin seal member. As the semiconductor device, a semiconductor device called a multi chip package (MCP) type is known. Although ones having various structures are developed and manufactured in the MCP type semiconductor devices, the MCP type semiconductor device comprising the stacked two semiconductor devices sealed with the resin seal member becomes most widespread. Ishida et al. discloses the semiconductor device wherein a chip for a microcomputer (a first semiconductor chip) and a chip for EEPROM (a second semiconductor chip) are incorporated in a package. That is, Ishida et al. discloses the semiconductor device wherein the chip for EEPROM (the second semiconductor chip) is stacked on the chip for the microcomputer (the first semiconductor chip) and the two chips are sealed with the resin seal member. The chip for the microcomputer comprises a processor unit (CPU), an ROM unit, an RAM unit, a timer unit, an A/D conversion unit, a serial communication interface unit, a data input/output circuit unit, and so on which are mounted on the same board. Those units are mutually connected through a data bus and an address bus. The processor unit mainly comprises a central processing portion, a control circuit portion, an arithmetic circuit portion, and so on. The chip for the microcomputer having such a structure is operated by a program. On the other hand, the chip for the EEPROM comprises a serial communication interface unit, a nonvolatile storage unit, and so on which are mounted on the same board. According to Ishida et al., electrical connection between the first semiconductor chip and the second semiconductor chip is carried out by internal leads among leads disposed around the first semiconductor chip and two bonding wires.
In addition, United States Patent Application Publication No. 2002/0027281 A1 or US 2002/0027281 A1 discloses a multi chip package (a semiconductor device) which is capable of controlling a rise in temperature, which occurs inside a package due to heat (self-heating) radiated from a semiconductor chip. According to US 2002/0027281 A1, the multi chip package constructing a microcontroller comprises a lower semiconductor chip on which the microcontroller including a mask ROM is formed and an upper semiconductor chip including flash memory mounted on the lower semiconductor chip. Inasmuch as no transistor is formed on the lower semiconductor chip under the upper semiconductor chip, it is possible to neglect the self-heating in this area. In addition, US 2002/0027281 A1 discloses an embodiment wherein transistors having a mask ROM function are formed on the lower semiconductor chip at a mounting area (a substantially central area) for the upper semiconductor chip and the upper semiconductor chip (the flash memory) is mounted on the mounting area. In this event, the mask ROM function in the lower semiconductor chip is discarded.
In the above-mentioned conventional method of manufacturing the microcontroller, the semiconductor maker must carry out design of two kinds of products, namely, design of a product of the OTP version and design of a product of the mask ROM version. As a result, the conventional method is disadvantageous in that it takes very much time (e.g. one year or one and half years) to develop the microcontroller as the ultimate product.
In addition, the product of the OTP version and the product of the mask ROM version are a pin-for-pin equivalent in a package state and can be substituted by each other. However, the product of the OTP version and the product of the mask ROM version are different from each other as semiconductor chips and cannot be compatible in characteristics in abundance. That is, when the product of the mask ROM version is replaced with the product of the OTP which is completed with evaluation, there are cases where a malfunction such as no operation occurs.
On the other hand, as disclosed in the above-mentioned U.S. Pat. No. 7,199,469 B2 and the above-mentioned US 2002/0027281 A1, it can be considered that a method of manufacturing, as the ultimate product, the microcontroller having the stacked two semiconductor chips sealed with the resin seal member without using one semiconductor chip. However, inasmuch as the EEPROM (the flush memory) is very expensive compared to the mask ROM, it is unsuited for a case of high volume production of the microcontrollers.
In addition, US 2002/0027281 A1 discloses the embodiment where the upper semiconductor chip (the flash memory) is mounted on the mask ROM area of the lower semiconductor chip and the mask ROM function is discarded. However, US 2002/0027281 A2 neither discloses nor teaches concrete means (structure) how to discard the mask ROM function.